package cn.lingyangwl.agile.system.model.rqrs.config;

import cn.lingyangwl.agile.model.enums.ConfigKeyEnum;
import cn.lingyangwl.agile.model.module.dict.CusFieldBind;
import cn.lingyangwl.agile.model.module.dict.DictTypeCons;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * 参数配置
 *
 * @author shenguangyang
 */
@Getter
@Setter
@Schema(description = "参数配置")
public class ConfigResp extends ConfigBase implements Serializable {
	private Long id;

	@Schema(description = "系统内置（1是 0否）")
	@CusFieldBind(type = DictTypeCons.CONFIG_TYPE, target = "sysBuiltInText")
	private Boolean sysBuiltIn;

	private String sysBuiltInText;

	@Schema(description = "创建者")
	private String createdBy;

	@Schema(description = "创建时间")
	private Date createdAt;

	@Schema(description = "更新者")
	private String updatedBy;

	@Schema(description = "更新时间")
	private Date updatedAt;

	/**
	 * 当 {@link ConfigGetReq#getIsDesensitization()} 为 true, 该字段会被赋值是脱敏的还是非脱敏数据,
	 * 比如系统设置无需脱敏, 该字段的值就是false, 如果是公众号账号这种敏感数据, 就会返回false
	 * @see ConfigKeyEnum
	 */
	@Schema(description = "表示当前数据是否为敏感的")
	private Boolean isSensitive = Boolean.FALSE;
}
